﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProgCompte.model
{
    class Compte
    {
        List<LigneCompte> ligneCompteTab;

        public Compte()
        {
            ligneCompteTab = new List<LigneCompte>();
        }
        public Compte(List<LigneCompte> l)
        {
            ligneCompteTab = l;
        }

        public List<LigneCompte> getLigneCompteTab()
        {
            return ligneCompteTab;
        }
        public LigneCompte getLigneCompte(int i )
        {
            return ligneCompteTab.ElementAt(i);
        }
        public void addLigneCompte(DateTime d, String l, String c, Double m , String t)
        {
            ligneCompteTab.Add(new LigneCompte(m, d, l, c,t));
        }
        public void delLigneCompte(int i)
        {
            ligneCompteTab.RemoveAt(i);
        }
        public Double CalcSolde()
        {
            Double tt = 0;
            List<LigneCompte>.Enumerator itL = ligneCompteTab.GetEnumerator();
            while (itL.MoveNext())
            {
                Double itM = itL.Current.getMontant();
               // System.Console.WriteLine()itL.Current.GetType
                if (itL.Current.getType().ToString().Contains("Crédit"))
                {
                    tt = tt + itM;
                }
                else { tt = tt - itM; }
            }
            return tt;
        }
        public Double CalcSoldeCategorie(String cat)
        {
            Double tt = 0;
            List<LigneCompte>.Enumerator itL = ligneCompteTab.GetEnumerator();
            while (itL.MoveNext())
            {
                Double itM = itL.Current.getMontant();
                if (itL.Current.getCategorie().Contains(cat))
                {
                    if (itL.Current.getType().ToString().Contains("Crédit"))
                    {
                        tt = tt + itM;
                    }
                    else { tt = tt - itM; }
                }
            }
            return tt;
        }
        public Double CalcSoldeDate(DateTime date)
        {
            Double tt = 0;
            List<LigneCompte>.Enumerator itL = ligneCompteTab.GetEnumerator();
            while (itL.MoveNext())
            {
                Double itM = itL.Current.getMontant();
                System.Console.WriteLine(itL.Current.getDate().ToString());
                if (itL.Current.getDate().ToShortDateString().Contains(date.ToShortDateString()))
                {
                    if (itL.Current.getType().ToString().Contains("Crédit"))
                    {
                        tt = tt + itM;
                    }
                    else { tt = tt - itM; }
                }
            }
            return tt;
        }
       
    }
}
